export default {
  // 下载 Excel 方法
  excel (data, fileName) {
    this.download(data, fileName, 'application/vnd.ms-excel')
  },

  // 下载 Word 方法
  word (data, fileName) {
    this.download(data, fileName, 'application/msword')
  },

  // 下载 Zip 方法
  zip (data, fileName) {
    this.download(data, fileName, 'application/zip')
  },

  // 下载 Html 方法
  html (data, fileName) {
    this.download(data, fileName, 'text/html')
  },

  // 下载 Markdown 方法
  markdown (data, fileName) {
    this.download(data, fileName, 'text/markdown')
  },

  // 下载 pdf 方法
  pdf (data, fileName) {
    console.log('data', data)
    console.log('fileName', fileName)
    this.download(data, fileName, 'application/pdf')
  },

  // 下载 图片方法
  png (data, fileName) {
    this.download(data, fileName, 'application/png')
  },

  // 兼容写法
  stream (data, fileName) {
    this.download(data, fileName, 'application/octet-stream')
  },

  download (data, fileName, mineType) {
    // 创建 blob对象
    let blob = new Blob([data], { type: mineType })
    // 浏览器api 有的不支持-二种都写
    window.URL = window.URL || window.webkitURL
    // 获取链接地址-(内容赋值到临时链接)
    let href = URL.createObjectURL(blob)
    // 创建a标签
    let downA = document.createElement('a')
    // 把链接赋值给a标签
    downA.href = href
    // 赋值文件名称
    downA.download = fileName
    // 点击下载
    downA.click()
    // 销毁超连接
    window.URL.revokeObjectURL(href)
  }
}